package com.study.service.db3;

import java.util.Map;

import com.github.pagehelper.Page;
import com.study.entity.db3.Account;
import com.study.entity.db3.dto.LoginDTO;

/**
 * 账号表
 * 
 * @author chenk
 *
 */
public interface IAccountService {

	/**
	 * 根据用户名和密码查询用户信息
	 * 
	 * @param username
	 * @param password
	 * @return
	 */
	LoginDTO login(String username, String password);

	/**
	 * 分页查询账户信息
	 * 
	 * @param requestParams
	 * @return
	 */
	Page<Account> queryAccounts(Map<String, Object> requestParams);

	/**
	 * 保存账户信息
	 * 
	 * @param account
	 */
	void saveAccount(Account account);

	/**
	 * 重名校验
	 * 
	 * @param username
	 * @param accountId
	 * @return
	 */
	int countAccounts(String username, Long accountId);

	/**
	 * 根据账户id查询账户信息
	 * 
	 * @param id
	 * @return
	 */
	Account getAccountById(Long id);

	/**
	 * 修改账户信息
	 * 
	 * @param account
	 */
	void updateAccount(Account account);

	/**
	 * 根据账户id删除账户（逻辑删除）
	 * 
	 * @param id
	 */
	void deleteById(Long id);

}
